The embodiments herein generally relate to multimedia processing, and more particularly, to gain control in a media processing system.
Automatic gain control (AGC) is a technique used in audio systems, for example, voice messaging systems to adjust gain to an appropriate level for a given input signal. An average or peak output signal level is used to adjust the gain to a suitable level, thus, enabling the audio systems to work satisfactorily within a greater range of input signal levels. However, typical AGC systems may be incapable of providing optimal gain control for voice signals that comprise both speech portions and non-speech portions such as background noise and silence that can vary from one user to another user. For instance, in real time communications such as during an ongoing call or during live video conferencing on a mobile communication device, the AGC system must react immediately to changes in signal levels.
In non-real time communications such as while retrieving offline voice messages or while playing an audio file, the amount of time available for gain adjustment is more than in the case of real time communications. Despite the availability of substantially more time for gain adjustment, current approaches for non-real time communications do not make use of the available time for gain adjustment, thus resulting in poor feedback to the AGC system and a poorly controlled signal output. To reduce overall output noise, it may be desirable to adjust the gain of the input signal early in the signal path to subsequently improve the performance of subsequent low bit rate coding. Accordingly, there is a long felt but unresolved need for a method and a media processing system that implements an automatic gain control that determines and makes more accurate decisions on setting gain while taking into consideration speech portions and non-speech portions such as noise portions of an input signal, particularly in non-real time communications.